#ifndef GRAPHICS_MAPRENDERER_H
#define GRAPHICS_MAPRENDERER_H

#include <glc/displaylist.h>

namespace Data { class IGlobalMap; }

namespace Graphics {

class MapRenderer
{
public:
    MapRenderer();
    ~MapRenderer();

    void render(const Data::IGlobalMap &map) const;
    void invalidate() const;

private:
    void renderLandscape(const Data::IGlobalMap &map) const;
    void renderObjects(const Data::IGlobalMap &map) const;

    GLC::DisplayList _dlLandscape;
    mutable bool _initialized;
};

} // namespace Graphics

#endif // GRAPHICS_MAPRENDERER_H
